for _ in range(int(input())):
    N, A, B, K = map(int, input().split())
    a = [0] + list(map(int, input().split()))
    # dpij表示跳了i次后,在j位置吃的昆虫最大数量
    dp = [[-0x3f3f3f3f] * (N+1) for _ in range(K+1)]
    dp[0][0] = 0 # 初始状态为在坐标0的位置开始跳

    for i in range(1, K+1): # i:frog已经跳了i次
        for j in range(1, N+1): # j:表示frog现在在j的位置
            dp[i][j] = max(dp[i-1][j], dp[i][j])
            for d in range(A, B+1): # frog在第i次跳时,从j-d位置跳到j位置。
                if j - d >= 0:
                    dp[i][j] = max(dp[i][j], dp[i-1][j-d] + a[j])

    print(max(dp[K]))